package com.example.shiro.mapper;

import com.example.shiro.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Set;

/**
 * @ClassName UserMapper
 * @Description TODO 用户持久层接口
 * @Version 1.0
 */
public interface UserMapper {

    /*
     * @Description //TODO 根据登录名查询用户数据
     * @Params [loginName]
     * @return com.example.shiro.entity.User
     * @version 1.0
     **/
    User findByLoginName(@Param("loginName") String loginName);
    /*
     * @Description //TODO 根据id查询用户数据
     * @Params [id]
     * @return com.example.shiro.entity.User
     * @version 1.0
     **/
    User findById(@Param("id") String id);
    /*
     * @Description //TODO 根据id查询用户详情
     * @Params [id]
     * @return com.example.shiro.entity.User
     * @version 1.0
     **/
    User getDetailById(@Param("id") String id);
    /*
     * @Description //TODO 新增用户
     * @Params [user]
     * @return void
     * @version 1.0
     **/
    void add(User user);
    /*
     * @Description //TODO 利用登录名查询用户的角色
     * @Params [loginName]
     * @return java.util.Set<java.lang.String>
     * @version 1.0
     **/
    Set<String> findRoleCodesByLoginName(@Param("loginName") String loginName);
}
